การเพิ่ม Disk Storage ใน Amazon Lightsail
สวัสดีครับ POP จากบริษัท Classmethod (Thailand) ครับ
ครั้งนี้จะมาแนะนำการเพิ่ม Disk Storage ใน Lightsail
สิ่งที่ต้องมี
※เปิดใช้งาน WordPress ด้วย Amazon Lightsail แล้ว
ครั้งนี้เราจะดำเนินการโดยใช้สภาพแวดล้อม WordPress (สามารถใช้ในสภาพแวดล้อมอื่นๆ ได้ด้วย)
ดูตัวอย่างการเปิดใช้งาน Application ได้ที่ลิงก์ด้านล่างนี้
คุณสมบัติของ Lightsail Disk (Block Storage)
Disk ที่สามารถเพิ่มได้ มีข้อกำหนดดังนี้
- ป้องกันความล้มเหลวโดยการทำซ้ำภายใน Availability Zone ซึ่งออกแบบมาสำหรับความพร้อมใช้งาน 99.99%
- SSD Storage สำหรับความแฝงต่ำ
- สามารถเชื่อมต่อ(Attach) Storage ขนาดสูงสุด 16TB ได้ถึง 15 ตัวต่อ Instance
- สามารถ Encryption Disks หรือ Snapshots ได้โดยอัตโนมัติ
- $0.10/GB ต่อเดือน (8GB ขึ้นไป)
ให้คิดว่ามันเป็นเหมือนกับ SSD (GP2) เอนกประสงค์ของ EBS
การสร้าง Disk
เลือกแท็บ Home
ด้านบนซ้าย และเลือกแท็บ Storage
แล้วคลิกปุ่ม Create disk
เมื่อเข้ามาที่หน้า "+ Create an additional storage disk" ให้ตั้งค่าดังนี้
New disk location
» Select a Region: Singapore
Choose your disk size
» ครั้งนี้เลือก 8 GB
(เราสามารถกำหนดขนาด Storage ตั้งแต่ 8 GB ขึ้นไปได้ตามต้องการ แต่ไม่สามารถกำหนดให้ต่ำกว่า 8 GB ได้)
Identify your disk
» Name: tinnakorn-wordpress-disk2
» แล้วคลิก Create disk
ด้านล่างสุด
เมื่อสร้าง Disk เสร็จแล้ว เราต้องเพิ่ม Disk ไปยัง Instance ที่เราต้องการ โดยทำการ Attach
มาที่แท็บ Detail แล้วตั้งค่าดังนี้
Attach to an instance
เลือก Instance ที่เราต้องการเพิ่ม Disk ครั้งนี้คือ tinnakorn-wordpress
แล้วคลิก Attach ✅
เมื่อ Attach เสร็จแล้วจะแสดงหน้าจอแบบนี้
การตั้งค่า Disk Storage ใน Linux
เนื่องจากตอนนี้เรายังไม่สามารถใช้งาน Disk ที่สร้างจากขั้นตอนที่แล้วใน Linux ได้ ดังนั้นจำเป็นต้องตั้งค่าเพื่อให้สามารถใช้งาน Disk บน Linux ได้
ก่อนเริ่มทำการตั้งค่า ให้เราเชื่อมต่อเข้าไปใน Instance โดยเข้าไปหน้า Instance ของเรา
แล้วคลิก Connect using SSH
ในหัวข้อ Connect to your instance ในแท็บ Connect (หากเชื่อมต่อกับ Instance อยู่แล้ว ให้ข้ามขั้นตอนนี้ไปได้เลย)
รันคำสั่ง df
เพื่อแสดง Partitions ของ Disk ต่างๆที่ถูก mount มาในระบบ
จะเห็นว่ามีแต่ /dev/xvda1 ที่เป็นที่เก็บข้อมูลดั้งเดิมของ Instance โดยมีขนาด 20 GB ตามที่เลือกไว้ตอนสร้าง Instance ครั้งแรก
tinnakorn-wordpress - Terminal | Lightsail - Google Chrome
bitnami@ip-xxx-xx-xx-xxx:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 231340 0 231340 0% /dev
tmpfs 48380 420 47960 1% /run
/dev/xvda1 20403592 3156836 16314204 17% /
tmpfs 241880 0 241880 0% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
/dev/xvda15 126678 10856 115822 9% /boot/efi
tmpfs 48376 0 48376 0% /run/user/1000
bitnami@ip-xxx-xx-xx-xxx:~$
รันคำสั่ง lsblk
เพื่อแสดงข้อมูลของอุปกรณ์เก็บข้อมูลในระบบ
แล้วตรวจสอบ xvdf ที่ถูกเพิ่มขึ้นมา นี่คือ Disk Storage ที่สร้างขึ้นและทำการ Attach โดยมีขนาด 8 GB ตามที่เราเลือกไว้เมื่อสักครู่นี้ ซึ่งเราจะมาตั้งค่า Disk นี้กัน
tinnakorn-wordpress - Terminal | Lightsail - Google Chrome
bitnami@ip-xxx-xx-xx-xxx:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 20G 0 disk
├─xvda1 202:1 0 19.9G 0 part /
├─xvda14 202:14 0 3M 0 part
└─xvda15 202:15 0 124M 0 part /boot/efi
xvdf 202:80 0 8G 0 disk
bitnami@ip-xxx-xx-xx-xxx:~$
ก่อนอื่นเราจะมา format disk xvdf
โดยรันคำสั่งตามนี้
sudo mkfs -t ext4 /dev/xvdf
รันคำสั่งนี้เพื่อสร้างโฟลเดอร์สำหรับทำการ mount point
sudo mkdir -p /mnt/data
รันคำสั่งนี้เพื่อทำการ mount แล้ว Storage ก็จะพร้อมใช้งาน
sudo mount /dev/xvdf /mnt/data
รันคำสั่ง df
เพื่อแสดง Partitions ของ Disk ต่างๆที่ถูก mount มาในระบบอีกครั้ง
จะเห็นว่า Disk /dev/xvdf
ถูก mount เข้ามาโดยมีโฟลเดอร์ /mnt/data ตามที่ตั้งค่าไว้เรียบร้อยแล้ว
tinnakorn-wordpress - Terminal | Lightsail - Google Chrome
bitnami@ip-xxx-xx-xx-xxx:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 231340 0 231340 0% /dev
tmpfs 48380 412 47968 1% /run
/dev/xvda1 20403592 3156924 16314116 17% /
tmpfs 241880 0 241880 0% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
/dev/xvda15 126678 10856 115822 9% /boot/efi
tmpfs 48376 0 48376 0% /run/user/1000
/dev/xvdf 8154588 28 7718748 1% /mnt/data
bitnami@ip-xxx-xx-xx-xxx:~$
รันคำสั่งนี้เพื่ออนุญาตให้สามารถจัดการสิ่งต่างๆในโฟลเดอร์ /mnt/data/
ได้
sudo chmod 777 /mnt/data/
รันคำสั่งนี้เพื่อสร้างไฟล์ที่ต้องการ ครั้งนี้จะสร้างไฟล์ test.txt
เมื่อป้อนเนื้อหาในไฟล์ที่ต้องการแล้วให้ Save โดยกดปุ่ม Ctrl+X
ตามด้วยกดปุ่ม Y
เพื่อ Save แล้วกดปุ่ม Enter
nano /mnt/data/test.txt
รันคำสั่งนี้เพื่อตรวจสอบข้อมูลที่อยู่ในโฟลเดอร์ /mnt/data/
จะเห็นว่ามีไฟล์ test.txt เพิ่มขึ้นมา
ls -al /mnt/data/
tinnakorn-wordpress - Terminal | Lightsail - Google Chrome
bitnami@ip-xxx-xx-xx-xxx:~$ ls -al /mnt/data/
total 28
drwxrwxrwx 3 root root 4096 Feb 3 09:43 .
drwxr-xr-x 3 root root 4096 Feb 3 09:26 ..
drwx------ 2 root root 16384 Feb 3 09:23 lost+found
-rw-r--r-- 1 bitnami bitnami 48 Feb 3 09:43 test.txt
bitnami@ip-xxx-xx-xx-xxx:~$
การตั้งค่าเพิ่มเติมในไฟล์ fstab
หากตั้งค่าเพียงเท่านี้ จะทำให้การ mount ถูกลบออกเมื่อมีการรีสตาร์ท Instance ดังนั้นให้เพิ่มการตั้งค่าใน /etc/fstab
ด้วย
รันคำสั่งนี้เพื่อแก้ไขไฟล์ /etc/fstab
sudo nano /etc/fstab
เมื่อเข้ามาแล้วให้เพิ่มด้านล่างนี้ต่อจากคำว่า "UUID=DFF0-D616 /boot/efi vfat defaults 0 0
"
/dev/xvdf /mnt/data ext4 defaults,nofail 0 2
[↓ ผลลัพธ์ ↓] เมื่อได้ตามผลลัพธ์แล้วให้ Save โดยกดปุ่ม Ctrl+X
ตามด้วยกดปุ่ม Y
เพื่อ Save แล้วกดปุ่ม Enter
tinnakorn-wordpress - Terminal | Lightsail - Google Chrome
# /etc/fstab: static file system information
UUID=8fee2a17-de2a-4336-9a82-68be6e435b44 / ext4 rw,discard,errors=remount-ro,x-systemd.g>
UUID=DFF0-D616 /boot/efi vfat defaults 0 0
/dev/xvdf /mnt/dataext4 defaults,nofail 0 2
การทดสอบรีสตาร์ท Instance
เมื่อตั้งค่าเพิ่มเติมในไฟล์ fstab แล้ว ทีนี้เราก็จะสามารถรีสตาร์ท Instance ได้โดยที่การตั้งค่า mount ของเราจะไม่ถูกลบออก
รันคำสั่งนี้เพื่อรีสตาร์ท Instance
sudo shutdown -r now
แล้วรอ Instance รีสตาร์ทสักครู่ แล้วคลิกปุ่ม Reconnect
แล้วรันคำสั่ง df
เพื่อแสดง Partitions ของ Disk ต่างๆที่ถูก mount มาในระบบอีกครั้ง
จะเห็นว่า Disk /dev/xvdf
ที่ตั้งค่า mount ไว้ก่อนหน้านี้ยังคงอยู่เหมือนเดิม
tinnakorn-wordpress - Terminal | Lightsail - Google Chrome
bitnami@ip-xxx-xx-xx-xxx:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 231340 0 231340 0% /dev
tmpfs 48380 424 47956 1% /run
/dev/xvda1 20403592 3157240 16313800 17% /
tmpfs 241880 0 241880 0% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
/dev/xvda15 126678 10856 115822 9% /boot/efi
/dev/xvdf 8154588 28 7718748 1% /mnt/data
tmpfs 48376 0 48376 0% /run/user/1000
bitnami@ip-xxx-xx-xx-xxx:~$
เพียงเท่านี้เราก็สามารถใช้งาน Disk Storage ใน Lightsail ได้ตามที่ตั้งค่าไว้แล้ว
สรุป
ถ้า Storage ไม่เพียงพอต่อการใช้งาน เราสามารถเพิ่ม Disk Storage ได้โดยการสร้าง Disk และ Attach ไปยัง Instance ที่เราต้องการเพิ่ม แล้วเข้าไปตั้งค่าทำการ mount ใน Linux ก็จะทำให้สามารถใช้ Storage ที่เพิ่มเข้ามาได้ทันที นอกจากนี้เราสามารถเพิ่ม Disk Storage ได้ถึง 15 ตัวต่อ Instance อีกด้วย
ผมหวังว่าบทความนี้จะเป็นประโยชน์ให้กับผู้อ่านได้นะครับ
POP จากบริษัท Classmethod (Thailand) ครับ !